/********************************************************************
* Copyright (c) 2013,TGS,All rights reserved.
* fileName:	DxfLayer.h	
* created:	2013/07/24 16:30

* version:	1.6
* detail: 
*********************************************************************/

#pragma once

#include <vector>
#include <QString>
#include <QColor>

class DxfEntity;

namespace TGS{
namespace MapControl{
	class RenderContext;
}
}

namespace TGS{
namespace GeoMath{

	class Envelope;
}}


class DxfLayer
{
	typedef TGS::MapControl::RenderContext RenderContext;
	typedef TGS::GeoMath::Envelope Envelope;
public:
	DxfLayer(void);
	~DxfLayer(void);
public:
	QString getLayerName() const { return _layerName; }
	void setLayerName(QString val) { _layerName = val; }
	QColor getColor() const { return _color; }
	void setColor(QColor val) { _color = val; }
	int getWidth() const { return _width; }
	void setWidth(int val) { _width = val; }
public:
	void addEntity(DxfEntity* entity) { _entities.push_back(entity); }
	void render(RenderContext* renderContext);
	 Envelope getEnvelope() const;
private:
	std::vector<DxfEntity*>	_entities;
	QString _layerName;
	QColor	_color;
	int		_width;
};

